package com.mhc.suzuki.dal.query;


import com.subaru.common.query.BaseCriteria;
import com.subaru.common.query.BaseQuery;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.io.Serializable;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

public class LoanClearQuery extends BaseQuery implements Serializable {
    private static final long serialVersionUID = 1L;

    public LoanClearQuery() {
        super();
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        super.oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * This class corresponds to the database table pcl_loan_clear
     */
         protected abstract static class GeneratedCriteria extends BaseCriteria {

        protected GeneratedCriteria() {
            super();
        }

        public Criteria andClearIdIsNull() {
            addCriterion("clear_id is null");
            return (Criteria) this;
        }

        public Criteria andClearIdIsNotNull() {
            addCriterion("clear_id is not null");
            return (Criteria) this;
        }

        public Criteria andClearIdEqualTo(Long value) {
            addCriterion("clear_id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdNotEqualTo(Long value) {
            addCriterion("clear_id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria anClearIdGreaterThan(Long value) {
            addCriterion("clear_id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdGreaterThanOrEqualTo(Long value) {
            addCriterion("clear_id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdLessThan(Long value) {
            addCriterion("clear_id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdLessThanOrEqualTo(Long value) {
            addCriterion("clear_id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdIn(List<Long> values) {
            addCriterion("clear_id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdNotIn(List<Long> values) {
            addCriterion("clear_id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdBetween(Long value1, Long value2) {
            addCriterion("clear_id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andClearIdNotBetween(Long value1, Long value2) {
            addCriterion("clear_id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(LocalDate value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(LocalDate value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(LocalDate value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(LocalDate value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<LocalDate> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<LocalDate> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(LocalDate value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(LocalDate value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(LocalDate value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(LocalDate value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<LocalDate> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<LocalDate> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNull() {
            addCriterion("order_no is null");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNotNull() {
            addCriterion("order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualTo(String value) {
            addCriterion("order_no =", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualTo(String value) {
            addCriterion("order_no <>", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThan(String value) {
            addCriterion("order_no >", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("order_no >=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThan(String value) {
            addCriterion("order_no <", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualTo(String value) {
            addCriterion("order_no <=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLike(String value) {
            addCriterion("order_no like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotLike(String value) {
            addCriterion("order_no not like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoIn(List<String> values) {
            addCriterion("order_no in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotIn(List<String> values) {
            addCriterion("order_no not in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoBetween(String value1, String value2) {
            addCriterion("order_no between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotBetween(String value1, String value2) {
            addCriterion("order_no not between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateIsNull() {
            addCriterion("advance_settle_date is null");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateIsNotNull() {
            addCriterion("advance_settle_date is not null");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateEqualTo(LocalDateTime value) {
            addCriterion("advance_settle_date =", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateNotEqualTo(LocalDateTime value) {
            addCriterion("advance_settle_date <>", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateGreaterThan(LocalDateTime value) {
            addCriterion("advance_settle_date >", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("advance_settle_date >=", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateLessThan(LocalDateTime value) {
            addCriterion("advance_settle_date <", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("advance_settle_date <=", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateLike(LocalDateTime value) {
            addCriterion("advance_settle_date like", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateNotLike(LocalDateTime value) {
            addCriterion("advance_settle_date not like", value, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateIn(List<LocalDateTime> values) {
            addCriterion("advance_settle_date in", values, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateNotIn(List<LocalDateTime> values) {
            addCriterion("advance_settle_date not in", values, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("advance_settle_date between", value1, value2, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andAdvanceSettleDateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("advance_settle_date not between", value1, value2, "advanceSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateIsNull() {
            addCriterion("normal_settle_date is null");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateIsNotNull() {
            addCriterion("normal_settle_date is not null");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateEqualTo(LocalDateTime value) {
            addCriterion("normal_settle_date =", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateNotEqualTo(LocalDateTime value) {
            addCriterion("normal_settle_date <>", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateGreaterThan(LocalDateTime value) {
            addCriterion("normal_settle_date >", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("normal_settle_date >=", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateLessThan(LocalDateTime value) {
            addCriterion("normal_settle_date <", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("normal_settle_date <=", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateLike(LocalDateTime value) {
            addCriterion("normal_settle_date like", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateNotLike(LocalDateTime value) {
            addCriterion("normal_settle_date not like", value, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateIn(List<LocalDateTime> values) {
            addCriterion("normal_settle_date in", values, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateNotIn(List<LocalDateTime> values) {
            addCriterion("normal_settle_date not in", values, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("normal_settle_date between", value1, value2, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andNormalSettleDateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("normal_settle_date not between", value1, value2, "normalSettleDate");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andStaffIdIsNull() {
            addCriterion("staff_id is null");
            return (Criteria) this;
        }

        public Criteria andStaffIdIsNotNull() {
            addCriterion("staff_id is not null");
            return (Criteria) this;
        }

        public Criteria andStaffIdEqualTo(Long value) {
            addCriterion("staff_id =", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotEqualTo(Long value) {
            addCriterion("staff_id <>", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdGreaterThan(Long value) {
            addCriterion("staff_id >", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdGreaterThanOrEqualTo(Long value) {
            addCriterion("staff_id >=", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLessThan(Long value) {
            addCriterion("staff_id <", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLessThanOrEqualTo(Long value) {
            addCriterion("staff_id <=", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLike(Long value) {
            addCriterion("staff_id like", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotLike(Long value) {
            addCriterion("staff_id not like", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdIn(List<Long> values) {
            addCriterion("staff_id in", values, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotIn(List<Long> values) {
            addCriterion("staff_id not in", values, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdBetween(Long value1, Long value2) {
            addCriterion("staff_id between", value1, value2, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotBetween(Long value1, Long value2) {
            addCriterion("staff_id not between", value1, value2, "staffId");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNull() {
            addCriterion("is_deleted is null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNotNull() {
            addCriterion("is_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedEqualTo(Integer value) {
            addCriterion("is_deleted =", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotEqualTo(Integer value) {
            addCriterion("is_deleted <>", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThan(Integer value) {
            addCriterion("is_deleted >", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_deleted >=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThan(Integer value) {
            addCriterion("is_deleted <", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("is_deleted <=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLike(Integer value) {
            addCriterion("is_deleted like", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotLike(Integer value) {
            addCriterion("is_deleted not like", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIn(List<Integer> values) {
            addCriterion("is_deleted in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotIn(List<Integer> values) {
            addCriterion("is_deleted not in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted not between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

    }

    /**
     * This class corresponds to the database table pcl_loan_clear
    */
    public  static class Criteria extends GeneratedCriteria{
        protected Criteria() {
            super();
        }
    }



    @Override
    public String toString(){
        return ReflectionToStringBuilder.toString(this, ToStringStyle.DEFAULT_STYLE);
    }
}